﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO_MechSysWeb;
using DAL_MechSysWeb;
using System.Data;

namespace BLL_MechSysWeb
{
    public class BLLAgendamento
    {
        DALAgendamento dalAgendamento = new DALAgendamento();

        public void Inserir(DTOAgendamento dtoAgendamento)
        {
            dalAgendamento.Inserir(dtoAgendamento);
        }

        public void Atualizar(DTOAgendamento dtoAgendamento)
        {
            dalAgendamento.Atualizar(dtoAgendamento);
        }

        public void AtualizarStatus(int agendamentoID, int novoStatus)
        {
            dalAgendamento.AtualizarStatus(agendamentoID, novoStatus);
        }

        public void Excluir(int agendamentoID)
        {
            dalAgendamento.Excluir(agendamentoID);
        }

        public DataTable BuscarAgendamentoPorData(DateTime data)
        {
            return dalAgendamento.BuscarAgendamentosPorData(data);
        }        

        //Verifica se cliente já agendou um horário na data e turno especificados
        public bool VerificaAgendamentoRealizado(DateTime data, byte turno, int clienteID)
        {
            return dalAgendamento.VerificaAgendamentoRealizado(data, turno, clienteID);
        }

        //Utilizado para verificar se agendamentoID existe e fazer Update.
        public bool VerificaSeAgendamentoIDExiste(int agendamentoID)
        {
            return dalAgendamento.VerificaSeAgendamentoIDExiste(agendamentoID);
        }

        public DataTable BuscarAgendamentoPorClienteID(int clienteID)
        {
            return dalAgendamento.BuscarAgendamentosPorClienteID(clienteID);
        }

        public DataTable BuscarAgendamentoPorAgendamentoID(int agendamentoID)
        {
            return dalAgendamento.BuscarAgendamentosPorAgendamentoID(agendamentoID);
        }

        public int BuscarNumAgendamentosPendentes(int clienteID)
        {
            return dalAgendamento.BuscarNumAgendamentosPendentes(clienteID);
        }

        public int BuscarNumAgendamentosRealizados()
        {
            return dalAgendamento.BuscarNumAgendamentosRealizados();
        }

        public DataTable BuscarAgendamentosCadastrados()
        {
            return dalAgendamento.BuscarAgendamentosCadastrados();
        }
    
    }
}
